Metaprogramming: an art of programming programs using Software Product Lines

نویسندگان

  • Mahua Banerjee
  • Chiranjeev Kumar
چکیده

Compositional languages and meta-programming are two approaches of code reusing. Both have its merits and demerits. We distilled the better of these two approaches by coupling disciplined meta-programming features with a compositional language like C++. In this paper we present a meta-programming approach to implement software product lines by designing an Array Product Line to implement different array operations by generating meta-expressions followed by respective C++ source code. A GUI has been designed to handle the APL for generation of meta-expression and metaprogramming.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Multilevel models in model-driven engineering, product lines, and metaprogramming

Model-driven engineering (MDE) aims to raise the level of abstraction in program specification and increase automation in program development. These are also the goals of product lines (a family of related programs) and metaprogramming (programming as computation). We show that the confluence of MDE, product lines, and metaprogramming exposes a multilevel paradigm of program development, and fu...

متن کامل

Towards Generative Metaprogramming

Metaprogramming is the concept that program synthesis is a computation. Generative programming is about developing metaprograms that synthesize other programs. Our intention goes one step beyond: we aim to generate metaprograms, which when executed, will generate a target program of a product line. This work describes the GeneRative metaprOgramming for Variable structurE (GROVE) approach to syn...

متن کامل

Metaprogramming in Logic

In this review of metaprogramming in logic we pay equal attention to theoretical and practical issues: the contents range from mathematical and logical preliminaries to implementation and applications in, e.g., software engineering and knowledge representation. The area is one in rapid development but we have emphasized such issues that are likely to be important for future metaprogramming lang...

متن کامل

Unification of Compile-Time and Runtime Metaprogramming in Scala

Metaprogramming is a technique that consists in writing programs that treat other programs as data. This paradigm of software development contributes to a multitude of approaches that improve programmer productivity, including code generation, program analysis and domain-specific languages. Many programming languages and runtime systems provide support for metaprogramming. Programming platforms...

متن کامل

Refactoring and Retrofitting Design Patterns in Java Software Product Lines

A centerpiece of modern software development is refactoring. Software Product Lines (SPLs), a major software development paradigm, lack tools to refactor Java SPL codebases. X15 introduces our new set of design guidelines, techniques, and language constructs to (1) express feature-based Java SPLs using only Java custom annotations, (2) view programs of the SPL, (3) edit views, automatically pro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013